1. Field of the Invention
The invention generally relates to pattern matching techniques in programming languages and in particular to a method and system for determining whether a computer-storable expression matches a filter.
2. Description of the Related Art
Presently, several techniques have been developed for string pattern matching. The most fundamental underlying theory, i.e. that of regular languages and recognition automatons, has been widely applied in areas ranging from text processing to DNA sequence searches. Expressions describing string patterns are today still loosely integrated with general purpose scripting languages such as Python or Perl, because of their convenience for solving recurrent string related problems such as pattern extraction or replacement.
With the increasing importance of structured information processing, and especially of complex structural transformations involved in data and document interchanges, the growing trend is to propose specialized query or transformation languages that strongly integrate pattern matching facilities. As long as complex structures are considered, e.g. trees or even graphs, language theorists and designers are again looking for expressive, powerful, simple, clear and precise formalisms in order to capture the most fundamental matching operations. However, the richness of complex data structures induces richer transformation requirements, and general solutions for specifying general pattern matching at the right abstraction level have not yet been proposed. Such general pattern matching technique would however be required for application to a broad class of programming languages.